Three dimensional digital content is created through use of a three dimensional mesh of vertices and polygons (e.g., triangles) formed by these vertices to form a surface of the content. Each of these vertices are further associated with a definition of a plurality of characteristics used to form the three dimensional digital content. Examples of these defined characteristics include a coordinate in three dimensional space (e.g., x, y, and z directions), a texture, a surface normal (e.g., a surface as a vector that is perpendicular to a tangent plane to that surface), shading, and so forth.
Accordingly, three dimensional digital content is typically defined using a vast amount of data as each vertex used to form the mesh is further associated with a variety of defined characteristics at that vertex. This vast amount of data, however, may hinder an ability to both render the digital content and transmit the content in an efficient manner. Consequently, this may limit applicability of three dimensional digital content from certain scenarios, such as sales and commercial applications where a user's attention span is at a premium. For example, a typical user often forgoes interaction with even two dimensional digital content (e.g., a webpage) when that content “takes too long” to be transmitted to and rendered by a browser. Thus, this user will also typically forgo interaction with three dimensional digital content using conventional techniques as these techniques may consume an even greater amount of time to transmit and render.
A variety of conventional techniques have been developed to solve these challenges. In one example, a mesh compression technique is used to remove redundancy and rearrange polygon descriptions to exploit shared vertices between neighboring polygons. Examples of this include creation of fans or strips of triangles. However, efficiency of this technique is dependent on the topology of the mesh and thus can have limited effectiveness in some situations and may also reduce richness of the content.
In another conventional example, a series of meshes are generated by a user in a supervised manner. The user, as part of generating this series of meshes, is tasked in this conventional example with avoiding use of lower resolution data that does not contribute to a final high resolution model. This is avoided since this data increases overall size of the model for both transmission and rendering, which is inefficient and runs counter to a purpose of trying to increase efficiency in transmission and rendering of a final full resolution version of the content. In conventional techniques, this is supervised manually by the user to form each of the meshes in this series and thus may be inefficient, time consuming, and prone to error.